float3		planeColor;
float		planeSize;
float4x4	matObj;
float4x4	matView;
float4x4	matProj;

struct VS_INPUT
{
	float3 pos			: POSITION;
	float3 normal		: NORMAL0;
};

struct VS_OUTPUT
{
	float4 pos			: POSITION0;
	float3 normal		: TEXCOORD0;
};

VS_OUTPUT vs_main( VS_INPUT In )
{
	VS_OUTPUT Out;
	
	float4x4 matScale = 0;
	matScale._11_22_33 = planeSize;
	matScale._44 = 1.0f;
	
	float4x4 matMVP = mul( matObj, mul( matView, matProj ) );
	Out.pos = mul( float4( In.pos, 1.0f ), mul( matScale, matMVP ) );
	Out.normal = In.normal;
	return Out;
}

float4 ps_foward_rendering( VS_OUTPUT In ) : COLOR0
{
	return float4( planeColor, 1.0f );
}

technique FowardRendering
{
	pass pass0
	{
		VertexShader	= compile vs_2_0 vs_main();
		PixelShader		= compile ps_2_0 ps_foward_rendering();
	}
}